﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
//写一个函数，可以逆序一个字符串的内容
//void reverse(char arr[], int sz)
//{
//	char* ptr = arr;
//	char* p = arr + sz - 2;
//	while (ptr < p)
//	{
//		char tmp = *ptr;
//		*ptr = *p;
//		*p = tmp;
//		ptr++;
//		p--;
//
//
//	}
//}
//
//int main()
//{
//	char arr[] = {"come baby"};
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	printf("%s", arr);
//	reverse(arr, sz);
//	printf("\n");
//	printf("%s", arr);
//
//    return 0;
//}
//实现一个函数，可以左旋字符串中的k个字符。

//ABCD左旋一个字符得到BCDA
//ABCD左旋两个字符得到CDAB
//void left_move(char *str, int k)
//{
//	int j = 0;
//	for (j = 0; j < k; j++)
//	{
//		
//				char tmp = *str;
//				int len = strlen(str);
//				int i = 0;
//				for (i = 0; i < len - 1; i++)
//				{
//					*(str + i) = *(str + i + 1);
//				}
//				*(str + len - 1) = tmp;
//			}
//		}
//		
//
//int main()
//{
//	char arr[] = { "ABCD" };
//	int k = 0;
//	printf("请输入左旋的字符数:");
//	scanf("%d", &k);
//	left_move(arr, k);
//	printf("%s", arr);
//    return 0;
//}
//模拟实现库函数strlen
//size_t my_strlen(const char* arr)//const限制arr改变所指向的对象
//{
//	int count = 0;
//	assert(arr);//assret断言确保arr!=NULL;
//	while (*arr)//*arr!='\0';
//	{
//		count++;
//		arr++;
//
//	}
//	return count;
//
//}
//int main()
//{
//	int len = my_strlen("abcdef");
//	printf("%d", len);
//    return 0;
//}void bubble_sort(int arr[], int sz)//参数接收数组元素个数

//void bubble_sort(int arr[], int sz)//参数接收数组元素个数
//{
//
//	int i = 0;
//	for (i = 0; i < sz - 1; i++)
//	{
//		int flag = 1;//假设这⼀趟已经有序了
//		int j = 0;
//		for (j = 0; j < sz - i - 1; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				flag = 0;//发⽣交换就说明，⽆序
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//			}
//		}
//		if (flag == 1)//这⼀趟没交换就说明已经有序，后续⽆序排序了
//			break;
//	}
//}
//
#include <stdio.h>
int main()
{
	char str1[] = "hello bit.";
	char str2[] = "hello bit.";
	const char* str3 = "hello bit.";
	const char* str4 = "hello bit.";
	if (str1 == str2)
		printf("str1 and str2 are same\n");
	else
		printf("str1 and str2 are not same\n");

	if (str3 == str4)
		printf("str3 and str4 are same\n");
	else
		printf("str3 and str4 are not same\n");

	return 0;//当⼏个指针指向同⼀个字符串的时候，他们实际会指向同⼀块内存。但是⽤相同的常量字符串去初始
	//化不同的数组的时候就会开辟出不同的内存块。所以str1和str2不同，str3和str4相同
}



